import router from './router/index';
import { getUserInfo } from './api/login';
import store from './store/index'

router.beforeEach((to, from, next) => {
    //1.获取 token
    /* const token = localStorage.getItem("xh-firstmanager-token") */
    const token = store.state.user.token
    //1.1 如果没有获取到 
    if (!token) {   // 1.1.1 要访问非登录页面，则不让访问，让其回到也登陆页面
        if (to.path !== '/login') {
            next({ path: '/login' })
        } else {//1.1.2 访问的就是登录页面/login
            next()//不需要传入参数，默认就是默认路由
        }
    } else { //获取到token
        if (to.path === '/login') {
            next()
        }
        else {
            // 1.2.1 请求的是非登录页面，查看本地是否存有用户信息
            /* const userInfo = localStorage.getItem("xh-firstmanager-user") */
            const userInfo = store.state.user.user
            if (userInfo) {
                next()
            } else {  /* //1.2.1.2 如果本地没有就通过 token 去获取用户信息
            getUserInfo(token).then(response => {
                const respUser = response.data
                if (respUser.flag) {
                    //如果获取到用户信息，则保存到本地，并让其进入
                    localStorage.setItem("xh-firstmanager-user", JSON.stringify(respUser.data))
                    next()
                } else {  //如果没有获取到用户信息（比如 token 失效）， 就回到登录页面
                    next({ path: '/login' })
                }
            })
        }  */
              /* alert(666) */
                store.dispatch('GetUserInfo').then(response => {
                  
                    if (response.flag) {
                        next()
                    } else {
                        next({ path: '/login' })
                    }
                }).catch(error => {

                })
            
            }
        }
    }
})